{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 02 Creating a histogram"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"import plotly.graph_objects as go\n",
"import seaborn as sns"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"import findspark\n",
"\n",
"findspark.init()\n",
"from pyspark.context import SparkContext\n",
"from pyspark.sql import functions as F\n",
"from pyspark.sql.session import SparkSession\n",
"\n",
"spark = SparkSession.builder.appName(\"statistics\").master(\"local\").getOrCreate()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"ages = np.array(\n",
" [1, 3, 27, 32, 5, 63, 26, 25, 18, 16, 4, 45, 29, 19, 22, 51, 58, 9, 42, 6]\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Generating dataset using for loop"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"buckets = [\"0-9\", \"10-19\", \"20-29\", \"30-39\", \"40-49\", \"50-59\", \"60-69\"]\n",
"ages_list = []\n",
"for i in buckets:\n",
" min_, max_ = i.split(\"-\")\n",
" get_ages = ages[(ages >= int(min_)) & (ages <= int(max_))]\n",
" ages_list.append(len(get_ages))\n",
"dataset = {\"Buckets\": buckets, \"#\": ages_list}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Pandas"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Buckets | \n",
" # | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0-9 | \n",
" 6 | \n",
"
\n",
" \n",
" 1 | \n",
" 10-19 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 20-29 | \n",
" 5 | \n",
"
\n",
" \n",
" 3 | \n",
" 30-39 | \n",
" 1 | \n",
"
\n",
" \n",
" 4 | \n",
" 40-49 | \n",
" 2 | \n",
"
\n",
" \n",
" 5 | \n",
" 50-59 | \n",
" 2 | \n",
"
\n",
" \n",
" 6 | \n",
" 60-69 | \n",
" 1 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Buckets #\n",
"0 0-9 6\n",
"1 10-19 3\n",
"2 20-29 5\n",
"3 30-39 1\n",
"4 40-49 2\n",
"5 50-59 2\n",
"6 60-69 1"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.DataFrame(dataset)\n",
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Spark"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"+-------+---+\n",
"|Buckets| #|\n",
"+-------+---+\n",
"| 0-9| 6|\n",
"| 10-19| 3|\n",
"| 20-29| 5|\n",
"| 30-39| 1|\n",
"| 40-49| 2|\n",
"| 50-59| 2|\n",
"| 60-69| 1|\n",
"+-------+---+\n",
"\n"
]
}
],
"source": [
"sdf = spark.createDataFrame(zip(*dataset.values()), schema=list(dataset.keys()))\n",
"sdf.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Generating dataset using np histogram"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"bins = np.arange(0, 80, 10)\n",
"ages_list, buckets = np.histogram(ages, bins)\n",
"dataset = {\"Buckets\": buckets[1:].tolist(), \"#\": ages_list.tolist()}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Pandas"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Buckets | \n",
" # | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 10 | \n",
" 6 | \n",
"
\n",
" \n",
" 1 | \n",
" 20 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 30 | \n",
" 5 | \n",
"
\n",
" \n",
" 3 | \n",
" 40 | \n",
" 1 | \n",
"
\n",
" \n",
" 4 | \n",
" 50 | \n",
" 2 | \n",
"
\n",
" \n",
" 5 | \n",
" 60 | \n",
" 2 | \n",
"
\n",
" \n",
" 6 | \n",
" 70 | \n",
" 1 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Buckets #\n",
"0 10 6\n",
"1 20 3\n",
"2 30 5\n",
"3 40 1\n",
"4 50 2\n",
"5 60 2\n",
"6 70 1"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.DataFrame(dataset)\n",
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Spark"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"+-------+---+\n",
"|Buckets| #|\n",
"+-------+---+\n",
"| 10| 6|\n",
"| 20| 3|\n",
"| 30| 5|\n",
"| 40| 1|\n",
"| 50| 2|\n",
"| 60| 2|\n",
"| 70| 1|\n",
"+-------+---+\n",
"\n"
]
}
],
"source": [
"sdf = spark.createDataFrame(zip(*dataset.values()), list(dataset.keys()))\n",
"sdf.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Histogram"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Matplotlib "
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEECAYAAAA8tB+vAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAS60lEQVR4nO3df2xV9f3H8de5p5RSCrkBi5khIEUxDkWmztCsCEYGZoz5Y4AU1mXUqWA3hspsi/xqrEjFjaAZWHQssSgIiITo5g+CCZJZQjZmhoCkCphSJUXpoLTl3t6e7x+EfkFbqOWe3nvePB//KO295/O+x+uzx9N7jo7neZ4AAGaEEj0AACC+CDsAGEPYAcAYwg4AxhB2ADAmJdEDSFJLS4tisc59OMd1nU4/NxGCNC+z+idI8wZpVilY817qrN26uW1+PSnCHot5qqtr6NRzw+H0Tj83EYI0L7P6J0jzBmlWKVjzXuqsmZm92vw6p2IAwBjCDgDGEHYAMIawA4AxhB0AjCHsAGCMbx93LC8v17Zt2xSNRpWbm6tJkyb5tRQA4By+hH3nzp3avXu31q5dq8bGRq1evdqPZQAAbfAl7Dt27NCQIUNUUFCg+vp6PfHEE34sAwBogy9hP378uGpqavTiiy+qurpaM2fO1DvvvCPHcdp8vOs6CofTO7VWTO1ffZWMmqKxTr/Wrua6IWb1SZDmDdKsUrDm9WtWX8IeDoeVlZWl1NRUZWVlqXv37vrmm2/Ut2/fNh9/KbcUyMzspauL3r6UcbvUoSXjVVt7MtFjdMjldGl2VwvSvEGaVQrWvIG6pcAtt9yiDz/8UJ7n6ejRo2psbFQ4HPZjKQDAt/hyxH7HHXdo165dmjhxojzP04IFC+S6bd+FDAAQX7593JFfmAJAYnCBEgAYQ9gBwBjCDgDGEHYAMIawA4AxhB0AjCHsAGAMYQcAYwg7ABhD2AHAGMIOAMYQdgAwhrADgDGEHQCMIewAYAxhBwBjCDsAGEPYAcAYwg4AxhB2ADCGsAOAMYQdAIwh7ABgDGEHAGMIOwAYQ9gBwBjCDgDGpPi14XvvvVcZGRmSpP79++uZZ57xaykAwDl8Cfvp06fleZ4qKir82DwA4AJ8Cfv+/fvV2Nio/Px8NTc367HHHtPw4cPbfbzrOgqH0/0YJSkF5bXGJGVm9kr0GB3SFI0FZr9KkuuGAjNvkGaVgjWvX7P6Eva0tDQ98MADmjRpkg4dOqQHH3xQ77zzjlJS2l4uFvNUV9fQqbWCEp5zdfa1drXMzF66uujtRI/RIYeWjFdt7clEj9Fh4XB6YN4HQZpVCta8lzpre/3zJeyDBg3SwIED5TiOBg0apHA4rNraWv3gBz/wYzkAwDl8+VTMxo0btWTJEknS0aNHVV9fr8zMTD+WAgB8iy9H7BMnTlRxcbFyc3PlOI4WL17c7mkYAEB8+VLb1NRU/elPf/Jj0wCAi+ACJQAwhrADgDGEHQCMIewAYAxhBwBjCDsAGEPYAcAYwg4AxhB2ADCGsAOAMYQdAIwh7ABgDGEHAGMIOwAYQ9gBwBjCDgDGEHYAMIawA4AxhB0AjCHsAGAMYQcAYwg7ABhD2AHAGMIOAMYQdgAwhrADgDG+hf3rr7/WqFGj9Nlnn/m1BACgDb6EPRqNasGCBUpLS/Nj8wCAC/Al7GVlZZoyZYr69evnx+YBABeQEu8Nbtq0SX369NHIkSO1atWqDj3HdR2Fw+nxHiVpXU6vtSsFab+6bigw8wZpVilY8/o1a9zD/sYbb8hxHH300Ufat2+fCgsLtXLlSmVmZrb7nFjMU11dQ6fWy8zs1dlRE6azr7WrBW3fBmW/Smd+CAVl3iDNKgVr3kudtb1/R+Me9ldffbX17/Py8rRo0aILRh0AEF983BEAjIn7Efu5Kioq/Nw8AKANHLEDgDGEHQCMIewAYAxhBwBjCDsAGEPYAcAYwg4AxhB2ADCGsAOAMYQdAIwh7ABgDGEHAGMIOwAYQ9gBwBjCDgDGEHYAMIawA4AxhB0AjCHsAGAMYQcAYwg7ABhD2AHAGMIOAMZcNOzvvffeeX8FACS3lPa+kZ+fr/T0dH322Wfq27evXnnlFY0dO7YrZwMAdEK7R+yrV6/W0qVL5bquKisrVVVVpenTp2vBggVdOR8A4Htq94i9uLhYN954ozIyMjRjxgxVVlbqb3/7m44cOdKV8wEAvqd2j9gff/xx9evXT0eOHNEjjzyiqqoqLVu2THv27LnoRmOxmIqLizVlyhTl5ubqwIEDcR0aANC+dsN+xRVXaMyYMbr55ptVXl6uH//4x/rpT3+qurq6i270gw8+kCStW7dOs2fP1rJly+I2MADgwto9FXPW8uXLJUnPP/+8JOmGG2646EbHjBmj0aNHS5JqamrUu3fvCz7edR2Fw+kX3a4FTdGYMjN7JXoMk4L0HnLdUGDmDdKsUrDm9WvWi4a90xtOSVFhYaHef//91h8K7YnFPNXVNXRqnaBFMq2bq6uL3k70GB1yaMn4RI/wvXT2PZQI4XB6YOYN0qxSsOa91Fnb65+vFyiVlZXp3Xff1fz589XQEIwdDQBB50vYN2/erPLycklSjx495DiOQiEucgWAruDLqZixY8equLhY06ZNU3Nzs+bOnau0tDQ/lgIAfIsvYU9PT2/9pSsAoGtxfgQAjCHsAGAMYQcAYwg7ABhD2AHAGMIOAMYQdgAwhrADgDGEHQCMIewAYAxhBwBjCDsAGEPYAcAYwg4AxhB2ADCGsAOAMYQdAIwh7ABgDGEHAGMIOwAYQ9gBwBjCDgDGEHYAMIawA4AxhB0AjCHsAGBMSrw3GI1GNXfuXB05ckSRSEQzZ87UnXfeGe9lAADtiHvYt2zZonA4rKVLl6qurk733HMPYQeALhT3sN91110aN26cJMnzPLmuG+8lAAAXEPew9+zZU5JUX1+vWbNmafbs2Rd9jus6CofT4z0KLjNBeg/FJGVm9kr0GB3SFI0FZlbpzLxBeS+4bsiXWeMedkn68ssvVVBQoKlTp2rChAkXfXws5qmurqFTawXpDQd/dfY9lAiZmb10ddHbiR6jQw4tGR+YWaUz89bWnkz0GB0SDqdf0vu2vf7FPezHjh1Tfn6+FixYoOzs7HhvHgBwEXH/uOOLL76oEydOaMWKFcrLy1NeXp6amprivQwAoB1xP2KfN2+e5s2bF+/NAgA6iAuUAMAYwg4AxhB2ADCGsAOAMYQdAIwh7ABgDGEHAGMIOwAYQ9gBwBjCDgDGEHYAMIawA4AxhB0AjCHsAGAMYQcAYwg7ABhD2AHAGMIOAMYQdgAwhrADgDGEHQCMIewAYAxhBwBjCDsAGEPYAcAYwg4AxhB2ADDGt7B//PHHysvL82vzAIB2pPix0ZdeeklbtmxRjx49/Ng8AOACfAn7gAED9MILL+iJJ57o0ONd11E4nO7HKLhMNEVjyszslegxkASC9F5oisZ8aZ8vYR83bpyqq6s7/PhYzFNdXUOn1grKP0D4K62bq6uL3k70GB12aMn4RI9gVpDeC4eWjFdt7clOP7+9/vHLUwAwhrADgDGEHQCM8S3s/fv31/r16/3aPACgHRyxA4AxhB0AjCHsAGAMYQcAYwg7ABhD2AHAGMIOAMYQdgAwhrADgDGEHQCMIewAYAxhBwBjCDsAGEPYAcAYwg4AxhB2ADCGsAOAMYQdAIwh7ABgDGEHAGMIOwAYQ9gBwBjCDgDGEHYAMIawA4AxhB0AjEnxY6MtLS1atGiRPv30U6Wmpqq0tFQDBw70YykAwLf4csS+detWRSIRvf7663r88ce1ZMkSP5YBALTBl7D/61//0siRIyVJw4cP1549e/xYBgDQBsfzPC/eG33yySc1duxYjRo1SpI0evRobd26VSkpvpz5AQCcw5cj9oyMDJ06dar1zy0tLUQdALqIL2G/+eabtX37dknSf/7zHw0ZMsSPZQAAbfDlVMzZT8UcOHBAnudp8eLFGjx4cLyXAQC0wZewAwAShwuUAMAYwg4AxhB2ADAmsJ9BDMptCz7++GM999xzqqio0OHDh1VUVCTHcXTttddq4cKFCoWS42drNBrV3LlzdeTIEUUiEc2cOVPXXHNNUs4bi8U0b948HTx4UI7jqKSkRN27d0/KWc/19ddf67777tPq1auVkpKStPPee++9ysjIkCT1799f999/v55++mm5rqucnBz97ne/S/CE5ysvL9e2bdsUjUaVm5ur2267LSn37aZNm/Tmm29Kkk6fPq19+/apoqLCn33rBdS7777rFRYWep7nebt37/ZmzJiR4Im+a9WqVd7Pf/5zb9KkSZ7ned7DDz/sVVZWep7nefPnz/fee++9RI53no0bN3qlpaWe53ne8ePHvVGjRiXtvO+//75XVFTkeZ7nVVZWejNmzEjaWc+KRCLeI4884o0dO9arqqpK2nmbmpq8u++++7yv/eIXv/AOHz7stbS0eL/97W+9Tz75JDHDtaGystJ7+OGHvVgs5tXX13vPP/980u7bcy1atMhbt26db/s28T/GOikIty0YMGCAXnjhhdY/f/LJJ7rtttskSbfffrv++c9/Jmq077jrrrv0hz/8QZLkeZ5c103aeceMGaOnnnpKklRTU6PevXsn7axnlZWVacqUKerXr5+k5H0v7N+/X42NjcrPz9evf/1r7dq1S5FIRAMGDJDjOMrJyUmaWSVpx44dGjJkiAoKCjRjxgyNHj06afftWf/9739VVVWl8ePH+7ZvAxv2+vr61v9clCTXddXc3JzAib5r3Lhx511x63meHMeRJPXs2VMnT55M1Gjf0bNnT2VkZKi+vl6zZs3S7Nmzk3relJQUFRYW6qmnntKECROSetZNmzapT58+rQciUvK+F9LS0vTAAw/or3/9q0pKSlRcXKwePXq0fj+ZZpWk48ePa8+ePVq+fLlKSko0Z86cpN23Z5WXl6ugoOA7DYvnrIE9xx7E2xace57v1KlT6t27dwKn+a4vv/xSBQUFmjp1qiZMmKClS5e2fi8Z5y0rK9OcOXM0efJknT59uvXryTbrG2+8Icdx9NFHH2nfvn0qLCzUN9980/r9ZJp30KBBGjhwoBzH0aBBg9SrVy/V1dW1fj+ZZpWkcDisrKwspaamKisrS927d9dXX33V+v1km/fEiRM6ePCgRowYofr6+vMaFs9ZA3vEHsTbFvzwhz/Uzp07JUnbt2/XrbfemuCJ/t+xY8eUn5+vP/7xj5o4caKk5J138+bNKi8vlyT16NFDjuPohhtuSMpZJenVV1/VmjVrVFFRoeuvv15lZWW6/fbbk3LejRs3tt5m++jRo2psbFR6erq++OILeZ6nHTt2JM2sknTLLbfoww8/lOd5rfNmZ2cn5b6VpF27dik7O1vSmYPTbt26+bJvA3vlaVBuW1BdXa3HHntM69ev18GDBzV//nxFo1FlZWWptLRUrusmekRJUmlpqf7xj38oKyur9WtPPvmkSktLk27ehoYGFRcX69ixY2pubtaDDz6owYMHJ+2+PVdeXp4WLVqkUCiUlPNGIhEVFxerpqZGjuNozpw5CoVCWrx4sWKxmHJycvToo48meszzPPvss9q5c6c8z9Ojjz6q/v37J+W+laSXX35ZKSkp+s1vfiPpzEGpH/s2sGEHALQtsKdiAABtI+wAYAxhBwBjCDsAGEPYAcAYwg6zdu7cqezsbOXl5elXv/qVJk+erL1793b4+dXV1Zo8eXKHHltTU6Nt27Z1dlQgrgg7TBsxYoQqKiq0Zs0azZo1S8uXL/dlncrKSv373//2ZdvA95Xc1+ADcXTixAn16dOn9SKhwYMHa+3atTp27Jh+//vfa8WKFdq6datisZhyc3OVk5Mj6cxtgouKinTttdfqoYceUkVFhd566y05jqOf/exnmjZtmlatWqWmpib96Ec/0ldffaXNmzcrFArpxhtv1Lx58xL8ynG5IewwrbKyUnl5eYpEItq/f7/+8pe/tN6O4Fx79+7V9u3btWHDBsViMf35z3/WT37yEzU3N2vOnDm69dZbNW3aNFVVVenvf/+7XnvtNUnS9OnTlZOTo4ceekiff/657rzzTv3yl7/UwoULNWzYML322mtqbm5O+vsYwRbebTBtxIgRWrZsmSTp888/15QpU877H7KcvfD64MGDGjZsmFzXleu6KioqUnV1tT799FNlZGSooaFBknTgwAHV1NS0XhL+v//9T4cPHz5vzWeeeUarV6/Ws88+q+HDh4uLu9HVOMeOy8YVV1whSerdu7dqa2slqfWXqVlZWdq7d69aWloUjUY1ffp0RSIRDR06VKtWrdKWLVu0f/9+ZWVl6ZprrtErr7yiiooK3XfffbruuusUCoXU0tIiSVq/fr1KSkq0Zs0a7du3T7t3707MC8ZliyN2mHb2VEwoFNKpU6dUVFSkvn37qqSkRFdddVXr//ji+uuv18iRI5Wbm6uWlhbl5uYqNTVV0pl7lC9cuFCFhYXasGGDsrOzlZubq0gkomHDhunKK6/UkCFDtHLlSg0dOlTXXXedpk6dqp49e+rKK6/UTTfdlMhdgMsQNwEDAGM4FQMAxhB2ADCGsAOAMYQdAIwh7ABgDGEHAGMIOwAY839RaySJJO3NPAAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"n, bins, _ = plt.hist(ages, buckets)\n",
"plt.xlabel(\"Buckets\")\n",
"plt.ylabel(\"#\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[6. 3. 5. 1. 2. 2. 1.] [ 0 10 20 30 40 50 60 70]\n"
]
}
],
"source": [
"print(n, bins)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Seanorn"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.histplot(ages, bins=buckets)\n",
"plt.xlabel(\"Buckets\")\n",
"plt.ylabel(\"#\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Plotly"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" \n",
" "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"marker": {
"color": [
"lightyellow",
"darkorange",
"cornflowerblue",
"magenta",
"lightgreen",
"darkviolet",
"yellow"
]
},
"nbinsx": 7,
"type": "histogram",
"x": [
1,
3,
27,
32,
5,
63,
26,
25,
18,
16,
4,
45,
29,
19,
22,
51,
58,
9,
42,
6
]
}
],
"layout": {
"autosize": true,
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"xaxis": {
"autorange": true,
"range": [
-0.5,
69.5
],
"title": {
"text": "bucket"
},
"type": "linear"
},
"yaxis": {
"autorange": true,
"range": [
0,
6.315789473684211
],
"title": {
"text": "#"
}
}
}
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAABLIAAAHCCAYAAAD7BuCfAAAgAElEQVR4Xu3db6jm5ZnY8XvDrpmwTIyZRmVM0FUCSlgNWQRLkU1ZoWkGoZUOyaaBdTWaaF4oo5HJgLY1MBlGHcyLaPwzblpScZlFKKJsILQuUmqRhhiQ+GKVDJsMmt1ZY3wRcSmW34nn5JnH4zy/57nuazq/uT6+2qy/5zrP/blukvHrOc/5nbfffvvt5i8CBAgQIECAAAECBAgQIECAAAECJ7nA7whZJ/mGvD0CBAgQIECAAAECBAgQIECAAIE1ASHLRSBAgAABAgQIECBAgAABAgQIEJiEgJA1iTV5kwQIECBAgAABAgQIECBAgAABAkKWO0CAAAECBAgQIECAAAECBAgQIDAJASFrEmvyJgkQIECAAAECBAgQIECAAAECBIQsd4AAAQIECBAgQIAAAQIECBAgQGASAkLWJNbkTRIgQIAAAQIECBAgQIAAAQIECAhZ7gABAgQIECBAgAABAgQIECBAgMAkBISsSazJmyRAgAABAgQIECBAgAABAgQIEBCy3AECBAgQIECAAAECBAgQIECAAIFJCAhZk1iTN0mAAAECBAgQIECAAAECBAgQICBkuQMECBAgQIAAAQIECBAgQIAAAQKTEBCyJrEmb5IAAQIECBAgQIAAAQIECBAgQEDIcgcIECBAgAABAgQIECBAgAABAgQmISBkTWJN3iQBAgQIECBAgAABAgQIECBAgICQ5Q4QIECAAAECBAgQIECAAAECBAhMQkDImsSavEkCBAgQIECAAAECBAgQIECAAAEhyx0gQIAAAQIECBAgQIAAAQIECBCYhICQNYk1eZMECBAgQIAAAQIECBAgQIAAAQJCljtAgAABAgQIECBAgAABAgQIECAwCQEhaxJr8iYJECBAgAABAgQIECBAgAABAgSELHeAAAECBAgQIECAAAECBAgQIEBgEgJC1iTW5E0SIECAAAECBAgQIECAAAECBAgIWe4AAQIECBAgQIAAAQIECBAgQIDAJASErEmsyZskQIAAAQIECBAgQIAAAQIECBAQstwBAgQIECBAgAABAgQIECBAgACBSQgIWZNYkzdJgAABAgQIECBAgAABAgQIECAgZLkDBAgQIECAAAECBAgQIECAAAECkxAQsiaxJm+SAAECBAgQIECAAAECBAgQIEBAyHIHCBAgQIAAAQIECBAgQIAAAQIEJiEgZE1iTd4kAQIECBAgQIAAAQIECBAgQICAkOUOECBAgAABAgQIECBAgAABAgQITEJAyJrEmrxJAgQIECBAgAABAgQIECBAgAABIcsdIECAAAECBAgQIECAAAECBAgQmISAkDWJNXmTBAgQIECAAAECBAgQIECAAAECQpY7QIAAAQIECBAgQIAAAQIECBAgMAkBIWsSa/ImCRAgQIAAAQIECBAgQIAAAQIEhCx3gAABAgQIECBAgAABAgQIECBAYBICQtYk1uRNEiBAgAABAgQIECBAgAABAgQICFnuAAECBAgQIECAAAECBAgQIECAwCQEhKxJrMmbJECAAAECBAgQIECAAAECBAgQELLcAQIECBAgQIAAAQIECBAgQIAAgUkICFmTWJM3SYAAAQIECBAgQIAAAQIECBAgIGS5AwQIECBAgAABAgQIECBAgAABApMQELImsSZvkgABAgQIECBAgAABAgQIECBAQMhyBwgQIECAAAECBAgQIECAAAECBCYhIGRNYk3eJAECBAgQIECAAAECBAgQIECAgJDlDhAgQIAAAQIECBAgQIAAAQIECExCQMiaxJq8SQIECBAgQIAAAQIECBAgQIAAASHLHSBAgAABAgQIECBAgAABAgQIEJiEgJA1iTV5kwQIECBAgAABAgQIECBAgAABAkKWO0CAAAECBAgQIECAAAECBAgQIDAJASFrEmvyJgkQIECAAAECBAgQIECAAAECBIQsd4AAAQIECBAgQIAAAQIECBAgQGASAkLWJNbkTRIgQIAAAQIECBAgQIAAAQIECAhZ7gABAgQIECBAgAABAgQIECBAgMAkBISsSazJmyRAgAABAgQIECBAgAABAgQIEBCy3AECBAgQIECAAAECBAgQIECAAIFJCAhZk1iTN0mAAAECBAgQIECAAAECBAgQICBkuQMECBAgQIAAAQIECBAgQIAAAQKTEBCyJrEmb5IAAQIECBAgQIAAAQIECBAgQEDIcgcIECBAgAABAgQIECBAgAABAgQmISBkTWJN3iQBAgQIECBAgAABAgQIECBAgICQ5Q4QIECAAAECBAgQIECAAAECBAhMQkDImsSavEkCBAgQIECAAAECBAgQIECAAAEhyx0gQIAAAQIECBAgQIAAAQIECBCYhICQNYk1eZMECBAgQIAAAQIECBAgQIAAAQJCljtAgAABAgQIECBAgAABAgQIECAwCQEhaxJr8iYJECBAgAABAgQIECBAgAABAgSELHeAAAECBAgQIECAAAECBAgQIEBgEgJC1iTW5E0SIECAAAECBAgQIECAAAECBAgIWe4AAQIECBAgQIAAAQIECBAgQIDAJASErEmsyZskQIAAAQIECBAgQIAAAQIECBAQstwBAgQIECBAgAABAgQIECBAgACBSQgIWZNYkzdJgAABAgQIECBAgAABAgQIECAgZLkDBAgQIECAAAECBAgQIECAAAECkxAQsiaxJm+SAAECBAgQIECAAAECBAgQIEBAyHIHCBAgQIAAAQIECBAgQIAAAQIEJiEgZE1iTd4kAQIECBAgQIAAAQIECBAgQICAkOUOECBAgAABAgQIECBAgAABAgQITEJAyJrEmrxJAgQIECBAgAABAgQIECBAgAABIcsdIECAAAECBAgQIECAAAECBAgQmISAkDWJNXmTBAgQIECAAAECBAgQIECAAAECQpY7QIAAAQIECBAgQIAAAQIECBAgMAkBIWsSa/ImCRAgQIAAAQIECBAgQIAAAQIEhCx3gAABAgQIECBAgAABAgQIECBAYBICQtYk1uRNEiBAgAABAgQIECBAgAABAgQICFnuAAECBAgQIECAAAECBAgQIECAwCQEhKxJrMmbJECAAAECBAgQIECAAAECBAgQELLcAQIECBAgQIAAAQIECBAgQIAAgUkICFmTWJM3SYAAAQIECBAgQIAAAQIECBAgIGS5AwQIECBAgAABAgQIECBAgAABApMQELImsSZvkgABAgQIECBAgAABAgQIECBAQMhyBwgQIECAAAECBAgQIECAAAECBCYhIGRNYk3eJAECBAgQIECAAAECBAgQIECAgJDlDhAgQIAAAQIECBAgQIAAAQIECExCQMiaxJq8SQIECBAgQIAAAQIECBAgQIAAASHLHSBAgAABAgQIECBAgAABAgQIEJiEgJA1iTV5kwQIECBAgAABAgQIECBAgAABAkJW8A4cOfrr4AQvJ0CAAAECBAgQIECAAAECBKoIbN/2gSpHTTmnkBVkFbKCgF5OgAABAgQIECBAgAABAgQKCQhZsWULWTG/JmQFAb2cAAECBAgQIECAAAECBAgUEhCyYssWsmJ+QlbQz8sJECBAgAAB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gACBcgJCVrmVOzABAgQIECBAgAABAgQIECBAYJoCQtY09+ZdEyBAgAABAgQIECBAgAABAgTKCQhZ5VbuwAQIECBAgAABAgQIECBAgACBaQoIWdPcm3dNgAABAgQIECBAgAABAgQIECgnIGSVW7kDEyBAgAABAgQIECBAgAABAgSmKSBkTXNv3jUBAgQIECBAgAABAgQIECBAoJyAkFVu5Q5MgAABAgQIECBAgAABAgQIEJimgJA1zb151wQIECBAgAABAgQIECBAgACBcgJCVrmVOzABAgQIECBAgAABAgQIECBAYJoCQtY09+ZdEyBAgAABAgQIECBAgAABAgTKCQhZ5VbuwAQIECBAgAABAgQIECBAgACBaQoIWdPcm3dNgAABAgQIECBAgAABAgQIECgnIGSVW7kDEyBAgAABAgQIECBAgAABAgSmKSBkTXNv3jUBAgQIECBAgAABAgQIECBAoJyAkFVu5Q5MgAABAgQIECBAgAABAgQIEJimgJA1zb151wQIECBAgAABAgQIECBAgACBcgJCVrmVOzABAgQIECBAgAABAgQIECBAYJoCQtY09+ZdEyBAgAABAgQIECBAgAABAgTKCQhZ5VbuwAQIECBAgAABAgQIECBAgACBaQoIWdPcm3dNgAABAgQIECBAgAABAgQIECgnIGSVW7kDEyBAgAABAgQIECBAgAABAgSmKSBkTXNv3jUBAgQIECBAgAABAgQIECBAoJyAkFVu5Q5MgAABAgQIECBAgAABAgQIEJimgJA1zb151wQIECBAgAABAgQIECBAgACBcgJCVrmVOzABAgQIECBAgAABAgQIECBAYJoCQtY09+ZdEyBAgAABAgQIECBAgAABAgTKCQhZ5VbuwAQIECBAgAABAgQIECBAgACBaQr8P9+16+cS1cesAAAAAElFTkSuQmCC",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data = [\n",
" go.Histogram(\n",
" x=ages,\n",
" nbinsx=7,\n",
" marker=dict(\n",
" color=[\n",
" \"lightyellow\",\n",
" \"darkorange\",\n",
" \"cornflowerblue\",\n",
" \"magenta\",\n",
" \"lightgreen\",\n",
" \"darkviolet\",\n",
" \"yellow\",\n",
" ]\n",
" ),\n",
" )\n",
"]\n",
"layout = go.Layout(xaxis=dict(title=\"bucket\"), yaxis=dict(title=\"#\"))\n",
"fig = go.Figure(data, layout)\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.1"
}
},
"nbformat": 4,
"nbformat_minor": 4
}